package com.team.databoard.util;

import java.lang.reflect.Method;

public class EnumUtils {
    /**
     * 判断枚举类是否包含指定code
     * @param enumClass 枚举类
     * @param code code
     * @return 是否包含
     * @param <E> 枚举类
     */
    public static <E extends Enum<E>> boolean isIncludeCode(Class<E> enumClass, int code) {
        try {
            Method getCodeMethod = enumClass.getMethod("getCode");
            for (E enumConstant : enumClass.getEnumConstants()) {
                int enumCode = (int) getCodeMethod.invoke(enumConstant);
                if (enumCode == code) {
                    return true;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }
}